﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Common;
using System.Data.SqlClient;
using System.Linq.Expressions;
using System.Data;
using System.Reflection;
using System.Reflection.Emit;

namespace CH.Easy.DbProvider.Common
{
    public static class MethodExtend
    {

        /// <summary>
        /// Order
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static OrderType Order(Expression expression, OrderType type)
        {
            return type;
        }


        /// <summary>
        /// Like
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static bool Like(this string obj, string value)
        {
            return true;
        }

        /// <summary>
        /// In
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static bool In(this int obj, int[] array)
        {
            return true;
        }

        /// <summary>
        /// NotIn
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static bool NotIn(this int obj, int[] array)
        {
            return true;
        }

        /// <summary>
        /// As
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static T As<T>(this T obj, string value)
        {
            return obj;
        }

        /// <summary>
        /// Count
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static int Count(this int obj)
        {
            return obj;
        }


        /// <summary>
        /// Sum
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static int Sum(this int obj)
        {
            return obj;
        }

        /// <summary>
        /// Max
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static T Max<T>(this T obj)
        {
            return obj;
        }

        /// <summary>
        /// Min
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static T Min<T>(this T obj)
        {
            return obj;
        }




    }
}
